#pragma once
#include <iostream>
#include <map>
#include <cstring>
#include <sys/types.h>
#include <string>
#include <memory>
#include <functional>
#include "socket.hpp"
#include "log.hpp"
#include "EpollIn.hpp"

namespace EpollServer
{

   class NodeFd
   {
    public:
    private:
        uint16_t _port;
        std::string _ip;
        std::string _readbuf;
        std::string _writebuf;

   };
   class TcpServer
   {
    public:
    private:
        epoll_event * _event;
        SocketInter::SockIn _listensock;
        EpollIn::Epoll _epoll;
        std::shared_ptr<std::unordered_map<int,NodeFD> _hashnode;
        
   };
}